Date		:	8 juin 1992
		Logiciel	:	PCAD V4.55
		Protection	:       CLEF PHYSIQUE
		Outils		:	SOFT-ICE V2.50
		Temps pass�	:	Longtemps... mais il y avait la carotte
		Programme	:       PCCARDS.EXE, PCCARDS.OVL, PCCAPS.EXE et
					PCCAPS.OVL
		Soci�t�		:	PCAD
		Divers		:	CLEF SERIELLE
		Origine		:	Jos�
		Num�ro		:	178


	Tellement de papier imprim� que je ne me sens pas la force de faire
	un DEP m�me si le logiciel le vaudrait 100 fois...
	Ayant commenc� � attaquer cette version par le programme PCCAPS j'ai
	bataill� longtemps avant de trouver le moyen d'acc�der au menu
	principal, mais h�las une fois arriv� l� la moindre commande effectu�e
	plantait le programme. 
	Je "switche" sur la version 5.02 dans laquelle seulement PCCARDS est
	prot�g� par ce fameux dongle s�rie, mais la aussi triste d�convenue:
	cette derni�re ne fonctionne qu'en mode prot�g� et comme SOFT-ICE s'y
	trouve aussi il est impossible de faire cohabiter deux programmes dans
	ce mode ( ceci vaut �galement pour la nouvelle version de WINDOWS avec
	laquelle je ne peux plus utiliser mon debugger favori - d'ailleurs
	m�me mon bouton poussoir g�n�rant une NMI reste inactif ! )
	Je rebascule sur la version 4.55 en m'attaquant � PCCARDS et la au bout
	de quelques heures de recherche intensive et de brain storming afin de
	d�terminer avec exactitude quelle est la routine qui appelle la clef
	et quel est le test je trouve enfin une piste.
	La routine est d�compos�e en deux parties et le test se trouve quelques
	instructions plus loin. Ceci m'am�ne donc dans le menu principal de
	PCCARDS. Mais mauvaise surprise les sous-menus SYS, ENTER/COMP, LOAD,
	SAVE, BKLD, BKSV et SYMB ENTR ORG poss�dent �galement une routine de
	test de la clef !
	Cette routine n'�tant pas la m�me ceci me force � rechercher � chaque
	fois le test du port s�rie et � d�rouler RETF par RETF jusqu'� retrouver
	la structure classique de l'implantation de la routine.
	Le point d'arr�t se pose comme suit ( port s�rie ): BPIO 3F8 R
	Au bout du second week-end consacr� � PCARDS le soft est pr�t et
	compl�tement expurg�. 
	Je d�cide de me r�attaquer � PCCAPS bien que l'on puisse utiliser la
	version non prot�g�e du package 5.02 qui fonctionne en mode prot�g�.
	J'arrive avec dificult� � rentrer enfin dans le menu principal tout
	en conservant les fonctionnalit�s des sous-menus, mais je m'apercois
	que la structure de la clef ne ressemble en rien � celle de PCCARDS.
	Et apr�s une heure de tatonnement j'arr�te de fouiller le soft car
	je n'arrive pas � d�terminer de quelle facon les sous-menus sont
	prot�g�s. Non seulement la clef est diff�rente par rapport � celle de
	PCARDS mais de plus la protection des sous-menus est diff�rente de
	celle du menu principal...
	5 juillet 1992
	O� a l'occasion d'une routine encore prot�g�e dans PCCARDS je reprends
	�galement l'�tude de PCCAPS. Cette fois j'arrive � faire fonctionner
	le sous-menu SYS en plus du menu principal. Et je me rends compte
	qu'effectivement la routine ne ressemble en rien � celle de PCCARDS.
	Dans le sous-menu SYS il est n�cessaire d'effacer un CALLF afin de
	neutraliser l'appel de la clef. Et cette routine est impossible �
	retrouver dans les autres sous-menus !
	Donc si un jour l'envie me reprendra je consulterais la 1/2 tonne de
	listing que cel� m'a pris et je m'y remettrais.

	Description rapide pour faire fonctionner PCCARDS:
	Placer un BPIO 3F8 R et ne pas se servir de la souris sous peine de
	d�bugger le driver de cette derni�re.
	A l'apparition de SOFT-ICE inhiber le point d'arr�t et aller par F7
	au premier RETF, F10 puis 3 instructions plus loin passer un second
	RETF.
	Forcer les 3 sauts suivants pour arriver � la fin de la routine par 
	RFLZ. Puis passer le dernier RETF avec F10. A ce moment on se trouve
	apr�s le premier CALL � NOPer. Le m�me CALL suit 46 octets plus loin
	ainsi qu'un saut � forcer 16 octets apr�s ce dernier CALL.
 
	Les s�quences � rechercher ressemblent � ce qui suit et je regrette
	profond�ment que PCTOOLS ne permette pas de rechercher des chaines
	d'octets avec des jokers ( je vais peut-�tre modifier mon HEXUTIL en
	cons�quence ):

	52.50.0E.E8.xx.xx.83.C4.10.83.3E.OFF1.52.50.0E.E8.xx.xx.83.C4.10.8B.
	OFF2.74.05.9A.

	OFF1 = 46 +/- 3 OCTETS 
	OFF2 = 16 +/- 3 OCTETS
	
	Il faut remplacer E8.xx.xx par 90.90.90 et 74 par EB.
	Cette chaine se trouve dans les menus suivants:

	MENU: FILE, SOUS-MENU: BKLD
	MENU: FILE, SOUS-MENU: BKSV
	MENU: FILE, SOUS-MENU: LOAD
	MENU: FILE, SOUS-MENU: SAVE 
	MENU: DRAW, SOUS-MENU: LINE
	MENU: SYS
	MENU: SYMB
	MENU: SYMB, SOUS-MENU: ENTR, SOUS-SOUS MENU: ORG
	MENU: ENTR, SOUS-MENU: COMP
	MENU: PRINCIPAL

	Voir les nombreux listings PCCARDS pour les d�tails, quant aux 
	routines de PCCAPS pour acc�der au menu principal et au sous-menu SYS
	les voici ci-dessous:

	La routine pour acc�der au menu principal:

	CS=136C
	CS:0172	50		PUSH	AX
	CS:0173	50		PUSH	AX
	CS:0174	0E		PUSH	CS
	CS:0175	E84400		CALL	01BC		: A NOPER
	CS:0178	83C404		ADD	SP,+04
	CS:017B	8E06DA6A	MOV	ES,[6ADA]
	CS:017F	26FF36B024	PUSH	ES:[24B0]
	CS:0184 9A08000324	CALL	2403:0008
	
	Et celle pour acc�der au sous-menu SYS:

	CS=1C0A
	CS:01A4	B80100		MOV	AX,0001
	CS:01A7	50		PUSH	AX
	CS:01A8	8E06D46A	MOV	ES,[6AD4]
	CS:01AC	26FF36BC24	PUSH	ES:[24BC]  ; Pas courant �a !
	CS:01B1	9ABC014A1C	CALL	1C4A:01BC  ; A remplacer par JMP 01B6.
	CS:01B6	83C404		ADD	SP,+04
	CS:01B9	8E06D46A	MOV	ES,[6AD4]
	CS:01BD	26813EA824D701	CMP	WORD PTR ES:[24A8],01D7
	CS:01C4	7419		JZ	01DF

	FREDDY